#include <cstdio>
#include <cmath>

// 判断质数
bool isPrime(int x) {
    if (x < 2) return false;
    int sqr = (int)sqrt(x);
    for (int i = 2; i <= sqr; ++i) {
        if (x % i == 0)
            return false;
    }
    return true;
}

int main() {
    int n, k;
    scanf("%d %d", &n, &k);
    
    int nums[21];
    for (int i = 0; i < n; ++i) {
        scanf("%d", &nums[i]);
    }

    int count = 0;
    int total = 1 << n; // 总的子集个数

    for (int mask = 0; mask < total; ++mask) {
        int sum = 0;
        int bits = 0;
        // 统计 mask 中 1 的个数，以及计算和
        for (int j = 0; j < n; ++j) {
            if (mask & (1 << j)) {
                sum += nums[j];
                bits++;
            }
        }

        if (bits == k && isPrime(sum)) {
            count++;
        }
    }

    printf("%d\n", count);
    return 0;
}
